package com.zhixi.pattern.notimportant.mediatorpattern;

import com.zhixi.pattern.notimportant.mediatorpattern.operation.Mediator;
import com.zhixi.pattern.notimportant.mediatorpattern.operation.Purchase;
import com.zhixi.pattern.notimportant.mediatorpattern.operation.Sale;
import com.zhixi.pattern.notimportant.mediatorpattern.operation.Stock;

/**
 * 中介者模式
 *
 *  库存 - 销售 - 采购
 *  三个模块之间相互依赖，不符合迪米特法则，所以需要一个中介在中间调用
 *  把他们三者关系从一对多，变成一对一
 *
 * @作者 ShuHaoNan
 * @邮箱 shuhaonan1@gmail.com
 * @时间 2020/11/17 8:56
 */
public class MediatorPattern {

    public static void main(String[] args) {
        Mediator mediator = new Mediator();
        /* 采购人员采购电脑 */
        Purchase purchase = mediator.getPurchase();
        purchase.buyIBMComputer(100);
        /* 销售人员销售电脑 */
        Sale sale = mediator.getSale();
        sale.sellIBMComputer(50);
        /* 库存人员管理库存 */
        Stock stock = mediator.getStock();
        stock.clearStock();
    }

}
